using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("RewardBoxesDisplay")]
	public class RewardBoxesDisplay : MonoBehaviour
	{
		[Attribute38("RewardBoxesDisplay.RewardPackageData")]
		public class RewardPackageData : MonoClass
		{
			public Transform m_StartBone => method_3<Transform>("m_StartBone");

			public Transform m_TargetBone => method_3<Transform>("m_TargetBone");

			public float m_StartDelay => method_2<float>("m_StartDelay");

			public RewardPackageData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public RewardPackageData(IntPtr address)
				: this(address, "RewardPackageData")
			{
			}
		}

		[Attribute38("RewardBoxesDisplay.RewardSet")]
		public class RewardSet : MonoClass
		{
			public GameObject m_RewardPackage => method_3<GameObject>("m_RewardPackage");

			public float m_AnimationTime => method_2<float>("m_AnimationTime");

			public GameObject m_RewardCard => method_3<GameObject>("m_RewardCard");

			public GameObject m_RewardCardBack => method_3<GameObject>("m_RewardCardBack");

			public GameObject m_RewardGold => method_3<GameObject>("m_RewardGold");

			public GameObject m_RewardDust => method_3<GameObject>("m_RewardDust");

			public List<BoxRewardData> m_RewardData => method_3<Class271<BoxRewardData>>("m_RewardData")?.method_25();

			public RewardSet(IntPtr address, string className)
				: base(address, className)
			{
			}

			public RewardSet(IntPtr address)
				: this(address, "RewardSet")
			{
			}
		}

		[Attribute38("RewardBoxesDisplay.BoxRewardData")]
		public class BoxRewardData : MonoClass
		{
			public List<RewardPackageData> m_PackageData => method_3<Class271<RewardPackageData>>("m_PackageData")?.method_25();

			public BoxRewardData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public BoxRewardData(IntPtr address)
				: this(address, "BoxRewardData")
			{
			}
		}

		[Attribute38("RewardBoxesDisplay.RewardBoxData")]
		public class RewardBoxData : MonoClass
		{
			public GameObject m_GameObject => method_3<GameObject>("m_GameObject");

			public RewardPackage m_RewardPackage => method_3<RewardPackage>("m_RewardPackage");

			public int m_Index => method_2<int>("m_Index");

			public RewardBoxData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public RewardBoxData(IntPtr address)
				: this(address, "RewardBoxData")
			{
			}
		}

		[Attribute38("RewardBoxesDisplay.RewardCardLoadData")]
		public class RewardCardLoadData : MonoClass
		{
			public EntityDef m_EntityDef => method_3<EntityDef>("m_EntityDef");

			public Transform m_ParentTransform => method_3<Transform>("m_ParentTransform");

			public CardRewardData m_CardRewardData => method_3<CardRewardData>("m_CardRewardData");

			public RewardCardLoadData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public RewardCardLoadData(IntPtr address)
				: this(address, "RewardCardLoadData")
			{
			}
		}

		public enum Events
		{
			GVG_PROMOTION
		}

		public bool m_playBoxFlyoutSound => method_2<bool>("m_playBoxFlyoutSound");

		public static string DEFAULT_PREFAB => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "RewardBoxesDisplay", "DEFAULT_PREFAB");

		public GameObject m_Root => method_3<GameObject>("m_Root");

		public GameObject m_ClickCatcher => method_3<GameObject>("m_ClickCatcher");

		public NormalButton m_DoneButton => method_3<NormalButton>("m_DoneButton");

		public RewardSet m_RewardSets => method_3<RewardSet>("m_RewardSets");

		public List<GameObject> m_InstancedObjects => method_3<Class271<GameObject>>("m_InstancedObjects")?.method_25();

		public List<GameObject> m_RewardObjects => method_3<Class251<GameObject>>("m_RewardObjects")?.method_25();

		public List<RewardPackageData> m_RewardPackages => method_3<Class271<RewardPackageData>>("m_RewardPackages")?.method_25();

		public GameLayer m_layer => method_2<GameLayer>("m_layer");

		public bool m_useDarkeningClickCatcher => method_2<bool>("m_useDarkeningClickCatcher");

		public bool m_doneButtonFinishedShown => method_2<bool>("m_doneButtonFinishedShown");

		public bool m_destroyed => method_2<bool>("m_destroyed");

		public List<RewardData> m_Rewards => method_3<Class271<RewardData>>("m_Rewards")?.method_25();

		public static RewardBoxesDisplay s_Instance => MonoClass.smethod_7<RewardBoxesDisplay>(TritonHs.MainAssemblyPath, "", "RewardBoxesDisplay", "s_Instance");

		public bool IsClosing => method_11<bool>("get_IsClosing", Array.Empty<object>());

		public RewardBoxesDisplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public RewardBoxesDisplay(IntPtr address)
			: this(address, "RewardBoxesDisplay")
		{
		}

		public static RewardBoxesDisplay Get()
		{
			return MonoClass.smethod_15<RewardBoxesDisplay>(TritonHs.MainAssemblyPath, "", "RewardBoxesDisplay", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public void UseDarkeningClickCatcher(bool value)
		{
			method_8("UseDarkeningClickCatcher", value);
		}

		public List<RewardPackageData> GetPackageData(int rewardCount)
		{
			return method_14<Class271<RewardPackageData>>("GetPackageData", new object[1] { rewardCount })?.method_25();
		}

		public void SetLayer(GameLayer layer)
		{
			method_8("SetLayer", layer);
		}

		public void ShowAlreadyOpenedRewards()
		{
			method_8("ShowAlreadyOpenedRewards");
		}

		public void ShowOpenedRewards()
		{
			method_8("ShowOpenedRewards");
		}

		public void AnimateRewards()
		{
			method_8("AnimateRewards");
		}

		public void OpenReward(int rewardIndex, Vector3 rewardPos)
		{
			method_8("OpenReward", rewardIndex, rewardPos);
		}

		public void RewardPackageAnimation()
		{
			method_8("RewardPackageAnimation");
		}

		public void RewardPackageOnStart(RewardBoxData boxData)
		{
			method_8("RewardPackageOnStart", boxData);
		}

		public void RewardPackageOnComplete(RewardBoxData boxData)
		{
			method_8("RewardPackageOnComplete", boxData);
		}

		public void RewardPackagePressed(UIEvent e)
		{
			method_8("RewardPackagePressed", e);
		}

		public GameObject CreateRewardInstance(int rewardIndex, Vector3 rewardPos, bool activeOnStart)
		{
			return method_14<GameObject>("CreateRewardInstance", new object[3] { rewardIndex, rewardPos, activeOnStart });
		}

		public void AllDone()
		{
			method_8("AllDone");
		}

		public void OnDoneButtonShown(Spell spell, object userData)
		{
			method_8("OnDoneButtonShown", spell, userData);
		}

		public void OnDoneButtonPressed(UIEvent e)
		{
			method_8("OnDoneButtonPressed", e);
		}

		public void Close()
		{
			method_8("Close");
		}

		public bool OnNavigateBack()
		{
			return method_11<bool>("OnNavigateBack", Array.Empty<object>());
		}

		public void OnDoneButtonHidden(Spell spell, object userData)
		{
			method_8("OnDoneButtonHidden", spell, userData);
		}

		public void FadeFullscreenEffectsIn()
		{
			method_8("FadeFullscreenEffectsIn");
		}

		public void FadeFullscreenEffectsOut()
		{
			method_8("FadeFullscreenEffectsOut");
		}

		public void FadeVignetteIn()
		{
			method_8("FadeVignetteIn");
		}

		public void FadeFullscreenEffectsOutFinished()
		{
			method_8("FadeFullscreenEffectsOutFinished");
		}

		public bool CheckAllRewardsActive()
		{
			return method_11<bool>("CheckAllRewardsActive", Array.Empty<object>());
		}

		public void CleanUp()
		{
			method_8("CleanUp");
		}

		public void DebugLogRewards()
		{
			method_8("DebugLogRewards");
		}
	}
}
